package com.hngates.architecture.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hngates.common.annotation.Excel;
import com.hngates.common.core.domain.BaseEntity;

/**
 * 施工单位对象 arc_labour_company
 * 
 * @author jwhe
 * @date 2022-07-04
 */
public class ArcLabourCompany extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录id */
    private Long id;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 删除标志 */
    private String delFlag;

    /** 施工单位名称 */
    @Excel(name = "施工单位名称")
    private String companyName;

    /** 负责人 */
    @Excel(name = "负责人")
    private String managerName;

    /** 负责人电话 */
    @Excel(name = "负责人电话")
    private String managerPhone;

    /** 籍贯 */
    @Excel(name = "籍贯")
    private String nativePlace;

    /** 支付保函金额 */
    @Excel(name = "支付保函金额")
    private BigDecimal paidGuaranteeAmount;

    /** 保函可用余额 */
    @Excel(name = "保函可用余额")
    private BigDecimal guaranteeAmountFree;

    /** 保函有效期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保函有效期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date guaranteePeriod;


    public Long getId() {
        return id;
    }

    public ArcLabourCompany setId(Long id) {
        this.id = id;
        return this;
    }

    public String getStatus() {
        return status;
    }

    public ArcLabourCompany setStatus(String status) {
        this.status = status;
        return this;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public ArcLabourCompany setDelFlag(String delFlag) {
        this.delFlag = delFlag;
        return this;
    }

    public String getCompanyName() {
        return companyName;
    }

    public ArcLabourCompany setCompanyName(String companyName) {
        this.companyName = companyName;
        return this;
    }

    public String getManagerName() {
        return managerName;
    }

    public ArcLabourCompany setManagerName(String managerName) {
        this.managerName = managerName;
        return this;
    }

    public String getManagerPhone() {
        return managerPhone;
    }

    public ArcLabourCompany setManagerPhone(String managerPhone) {
        this.managerPhone = managerPhone;
        return this;
    }

    public String getNativePlace() {
        return nativePlace;
    }

    public ArcLabourCompany setNativePlace(String nativePlace) {
        this.nativePlace = nativePlace;
        return this;
    }

    public BigDecimal getPaidGuaranteeAmount() {
        return paidGuaranteeAmount;
    }

    public ArcLabourCompany setPaidGuaranteeAmount(BigDecimal paidGuaranteeAmount) {
        this.paidGuaranteeAmount = paidGuaranteeAmount;
        return this;
    }

    public BigDecimal getGuaranteeAmountFree() {
        return guaranteeAmountFree;
    }

    public ArcLabourCompany setGuaranteeAmountFree(BigDecimal guaranteeAmountFree) {
        this.guaranteeAmountFree = guaranteeAmountFree;
        return this;
    }

    public Date getGuaranteePeriod() {
        return guaranteePeriod;
    }

    public ArcLabourCompany setGuaranteePeriod(Date guaranteePeriod) {
        this.guaranteePeriod = guaranteePeriod;
        return this;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("companyName", getCompanyName())
            .append("managerName", getManagerName())
            .append("managerPhone", getManagerPhone())
            .append("nativePlace", getNativePlace())
            .append("paidGuaranteeAmount", getPaidGuaranteeAmount())
            .append("guaranteeAmountFree", getGuaranteeAmountFree())
            .append("guaranteePeriod", getGuaranteePeriod())
            .toString();
    }
}
